using System;
using System.Globalization;
using System.IO;
using System.Numerics;
using Newtonsoft.Json;

namespace ns16
{
	internal class Class79 : JsonWriter
	{
		private readonly JsonWriter jsonWriter_0;

		private readonly JsonTextWriter jsonTextWriter_0;

		private readonly StringWriter stringWriter_0;

		public Class79(JsonWriter innerWriter)
		{
			jsonWriter_0 = innerWriter;
			stringWriter_0 = new StringWriter(CultureInfo.InvariantCulture);
			jsonTextWriter_0 = new JsonTextWriter(stringWriter_0);
			jsonTextWriter_0.Formatting = Formatting.Indented;
			jsonTextWriter_0.Culture = innerWriter.Culture;
			jsonTextWriter_0.DateFormatHandling = innerWriter.DateFormatHandling;
			jsonTextWriter_0.DateFormatString = innerWriter.DateFormatString;
			jsonTextWriter_0.DateTimeZoneHandling = innerWriter.DateTimeZoneHandling;
			jsonTextWriter_0.FloatFormatHandling = innerWriter.FloatFormatHandling;
		}

		public string method_20()
		{
			return stringWriter_0.ToString();
		}

		public virtual void WriteValue(decimal value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(bool value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(byte value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(byte? value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(char value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(byte[] value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(DateTime value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(DateTimeOffset value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(double value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteUndefined()
		{
			jsonTextWriter_0.WriteUndefined();
			jsonWriter_0.WriteUndefined();
			base.WriteUndefined();
		}

		public virtual void WriteNull()
		{
			jsonTextWriter_0.WriteNull();
			jsonWriter_0.WriteNull();
			base.WriteUndefined();
		}

		public virtual void WriteValue(float value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(Guid value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(int value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(long value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(object value)
		{
			if (value is BigInteger)
			{
				jsonTextWriter_0.WriteValue(value);
				jsonWriter_0.WriteValue(value);
				method_17(JsonToken.Integer);
			}
			else
			{
				jsonTextWriter_0.WriteValue(value);
				jsonWriter_0.WriteValue(value);
				base.WriteValue(value);
			}
		}

		public virtual void WriteValue(sbyte value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(short value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(string value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(TimeSpan value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(uint value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(ulong value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(Uri value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteValue(ushort value)
		{
			jsonTextWriter_0.WriteValue(value);
			jsonWriter_0.WriteValue(value);
			base.WriteValue(value);
		}

		public virtual void WriteWhitespace(string ws)
		{
			jsonTextWriter_0.WriteWhitespace(ws);
			jsonWriter_0.WriteWhitespace(ws);
			base.WriteWhitespace(ws);
		}

		public virtual void WriteComment(string text)
		{
			jsonTextWriter_0.WriteComment(text);
			jsonWriter_0.WriteComment(text);
			base.WriteComment(text);
		}

		public virtual void WriteStartArray()
		{
			jsonTextWriter_0.WriteStartArray();
			jsonWriter_0.WriteStartArray();
			base.WriteStartArray();
		}

		public virtual void WriteEndArray()
		{
			jsonTextWriter_0.WriteEndArray();
			jsonWriter_0.WriteEndArray();
			base.WriteEndArray();
		}

		public virtual void WriteStartConstructor(string name)
		{
			jsonTextWriter_0.WriteStartConstructor(name);
			jsonWriter_0.WriteStartConstructor(name);
			base.WriteStartConstructor(name);
		}

		public virtual void WriteEndConstructor()
		{
			jsonTextWriter_0.WriteEndConstructor();
			jsonWriter_0.WriteEndConstructor();
			base.WriteEndConstructor();
		}

		public virtual void WritePropertyName(string name)
		{
			jsonTextWriter_0.WritePropertyName(name);
			jsonWriter_0.WritePropertyName(name);
			base.WritePropertyName(name);
		}

		public virtual void WritePropertyName(string name, bool escape)
		{
			jsonTextWriter_0.WritePropertyName(name, escape);
			jsonWriter_0.WritePropertyName(name, escape);
			base.WritePropertyName(name);
		}

		public virtual void WriteStartObject()
		{
			jsonTextWriter_0.WriteStartObject();
			jsonWriter_0.WriteStartObject();
			base.WriteStartObject();
		}

		public virtual void WriteEndObject()
		{
			jsonTextWriter_0.WriteEndObject();
			jsonWriter_0.WriteEndObject();
			base.WriteEndObject();
		}

		public virtual void WriteRaw(string json)
		{
			jsonTextWriter_0.WriteRaw(json);
			jsonWriter_0.WriteRaw(json);
			base.WriteRaw(json);
		}

		public virtual void WriteRawValue(string json)
		{
			jsonTextWriter_0.WriteRawValue(json);
			jsonWriter_0.WriteRawValue(json);
			base.WriteRawValue(json);
		}

		public virtual void Close()
		{
			jsonTextWriter_0.Close();
			jsonWriter_0.Close();
			base.Close();
		}

		public override void Flush()
		{
			jsonTextWriter_0.Flush();
			jsonWriter_0.Flush();
		}
	}
}
